package com.tzy.shoppingcart.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tzy.common.entity.Orders;
import com.tzy.common.entity.ShoppingCart;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * <p>
 * 购物车表 Mapper 接口
 * </p>
 *
 * @author 刘舒
 * @since 2022-03-07
 */
@Repository
public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> {
    /**
     * 根据id连表查询购物车信息
     * @param userId
     * @return
     */
    public List<ShoppingCart>findList(int userId);
    /**
     * 批量删除购物车
     * @param ids
     * @return
     */
    int deleteShoppingCartByIds(String[] ids);

    public ShoppingCart findCart(int cartId);

    public List<ShoppingCart>findByShop(int userId,int shopId);

    /**
     * 修改购物车中商品的数量
     * @param id 购物车数据id
     * @param orderNumber 新的数量
     * @return 受影响的行数
     */
    Integer updateNumByCid(
            @Param("id") Integer id,
            @Param("orderNumber") Integer orderNumber
    );

    /**
     * 查询某用户在购物车添加的某商品的详情
     * @param userId 用户的id
     * @param dishesId 商品的id
     * @return 匹配的购物车详情，如果该用户没有将该商品添加到购物车，则返回null
     */
    ShoppingCart findByUidAndPid(
            @Param("userId") Integer userId,
            @Param("dishesId") Integer dishesId
    );
    int findTotal(int userId);
}
